﻿using System.Collections.Generic;

namespace BLL.Services.Authors
{
    using BLL.Services.Authors.Listing;

    public interface IAuthorsService
    {
        Author GetAuthorById(int authorId);

        int GetAuthorId(string firstName, string lastname, string middlenName);

        AuthorListing GetListingAuthor(int page, int size, string column, int direction, AuthorFilter filter);

        void Create(Author author);

        void Save(Author author);

        void Delete(int authorId);

        IEnumerable<Author> GetAuthorsByLetter(string letter);

        IEnumerable<Author> GetAuthorsByIds(int[] authorsIds); 

        bool ValidateAuthor(int authorId, string firstName, string lastName, string middleName);
    }
}
